"""
临时使用，把pdf的文件名根据excel中的换了。环评中拉的文件名可能会错，所以从EXCEL中需要改一下
"""

import os
import pandas as pd

pdf_dir = os.path.join(os.path.dirname(__file__), "pdf")
excel_file = os.path.join(
    os.path.dirname(__file__), "template", "仪器设备使用记录.xlsx"
)

# 读取 Excel 文件
try:
    df = pd.read_excel(excel_file)
    # 筛选“对比”列为 FALSE 的数据
    filtered_df = df[df["对比"] == False]

    # 遍历筛选后的数据
    i: int = 1
    for index, row in filtered_df.iterrows():
        old_filename = row["文件名"] + ".pdf"
        if old_filename.endswith(".pdf"):
            old_filepath = os.path.join(pdf_dir, old_filename)
            new_filename = f"{row['监测对象']}.pdf"
            new_filepath = os.path.join(pdf_dir, new_filename)

            if os.path.exists(old_filepath):
                os.rename(old_filepath, new_filepath)
                print(f"{i}-已将 {old_filename} 重命名为 {new_filename}")
                i += 1
            else:
                print(f"{index}-文件 {old_filename} 不存在，跳过重命名。")
        else:
            print(f"文件 {old_filename} 不是 PDF 文件，跳过重命名。")
except FileNotFoundError:
    print(f"未找到 Excel 文件: {excel_file}")
except KeyError as e:
    print(f"Excel 文件中缺少必要的列: {e}")
